home *** CD-ROM | disk | FTP | other *** search
/ Super PC 35 / Super PC 35 (Shareware).iso / spc / SONIDO / IT106 / MMCMP130 / MMCMP.DOC < prev    next >
Encoding:
Text File  |  1996-04-07  |  17.5 KB  |  405 lines

  1.                 MUSIC MODULE COMPRESSOR
  2.                                  version  1.30
  3.               
  4.                  User's Manual
  5.  
  6.  
  7. Table of contents:
  8.  
  9.     1. Introduction
  10.     2. Information on MMCMP:
  11.       2.1.  Requirements
  12.       2.2.  Files in this packages      
  13.       2.3.  Features of this version
  14.     3. Usage:
  15.           3.1.  Compressing files
  16.           3.2.  Decompressing files
  17.       3.3.  Using MMTSR
  18.         3.3.1. Loading MMTSR
  19.         3.3.2. Enabling/Disabling
  20.         3.3.3. Removing MMTSR from memory
  21.         3.3.4. More about MMTSR
  22.     4. Some legal stuff...
  23.     5. Closing words
  24.     6. Contacting the author
  25.  
  26.         <See MMUPDATE.DOC for latest implementations!>
  27.  
  28.  
  29. 1. Introduction
  30.  
  31.         As music modules and samples are constantly growing larger and 
  32.         larger, it becomes interesting to compress those files to save space 
  33.         on disk. However, files compressed using "standard" compression 
  34.         utility may be played by only a few players and can't usually be 
  35.         loaded into any conventionnal tracker for editing and composing.  But 
  36.         now, MMCMP offer you the possibility to do so.
  37.  
  38.     MMCMP is a conventionnal compression utility that will compress music
  39.         modules and samples, giving approximatively the same ratio you could 
  40.         expect with any popular compression utility.  It is not some kind of 
  41.         special sound compression like MPEG2, for example, which may give a 
  42.         very gound compression ratio, but modifies the data and tends to 
  43.         lower sound quality.  MMCMP does not modify the original sound data, 
  44.         and decompressing a compressed file (using MMUNCMP) gives back the 
  45.         original ome.
  46.  
  47.     What's special with MMCMP is the small TSR (Terminate and Stay
  48.     Resident) utility (MMTSR.COM) which, once loaded, decompresses in
  49.         "background" compressed files when they are loaded by "ANY" player or
  50.         tracker.  So you DON'T NEED TO DECOMPRESS MODULES AND SAMPLES TO PLAY 
  51.         THEM BACK AND USE THEM! However, due to technical reasons, MMTSR can't 
  52.         compress module when, within a tracker, you save them back on your 
  53.         disk.  You'll have to do this "manually" with MMCMP.
  54.  
  55.     Fortunately, this shall be soon possible, as I'm currently working
  56.     with Jeffrey Lim, the author of *Impulse Tracker*, so that IT will
  57.     include compression/decompression routines.  A few trackers already
  58.         use some kind of sample compression, but as far that I know, this
  59.     shall be the first tracker (I guess) with such a reasonable
  60.     compression (ratio approximatively equal to ZIP, ARJ, LZH, etc.. and
  61.     twice or thrice faster!)
  62.  
  63.  
  64.  
  65. 2. Information on MMCMP
  66.  
  67.   2.1. Requirements:
  68.  
  69.     - A 80386 based or better computer (does anybody still have something
  70.       worse????)
  71.     - around 350k of free conventionnal memory (MMCMP/MMUNCMP)
  72.     - 64 k of free exTended memory OR 64k of free exPanded memory (for
  73.       MMTSR only)
  74.     - some free space on your drive C: (for MMTSR only) to uncompress a
  75.           file (the size of a big module is enough...)
  76.  
  77.     These requirements may change with future version of the program.
  78.     See the "Features" section down here and the MMUPDATE.DOC file.
  79.  
  80.   2.2. Files in this package:
  81.  
  82.     You should have all the following files:
  83.  
  84.     MMCMP.EXE       The compression utility
  85.     MMUNCMP.EXE     The decompression utility
  86.     MMTSR.COM       The TSR version of MMUNCMP
  87.     MMCMP.DOC       This file...
  88.     MMTSR.DOC       Technical information on MMTSR
  89.     MMUPDATE.DOC    Information on previous, current and future releases
  90.     FILE_ID.DIZ     Small description for BBS
  91.  
  92.     If you wish to distribute MMCMP, see the legal stuff below.
  93.  
  94.   2.3. Features of this version
  95.  
  96.     MMCMP can actually compress module of the following formats and
  97.     supports everything supported by the specified tracker version:
  98.      - S3M: Scream Tracker 3 module (ST3 version 3.21)
  99.         (adlib samples not supported (who cares.:]) but MMCMP supports
  100.         16 bits samples even if ST3 doesn't)
  101.      - IT:  Impulse Tracker module (IT version 1.05)
  102.      - XM:  Extended Module (Fast Tracker 2.06)
  103.      - MOD: Amiga MOD format (made with any good MOD tracker, except old
  104.         MODs with only 15 instruments, they are not supported yet)
  105.  
  106.         MMCMP also handles samples files of the following formats:
  107.  
  108.          - DigiPlayer / Scream Tracker 3 Sample file (often refered as S3I or
  109.            SMP)
  110.          - Impulse Tracker samples.
  111.  
  112.         These are the trackers with which MMCMP has been tested.  Of course,
  113.     MMCMP might work correctly with module made with newer versions of
  114.     those trackers as long as modules don't hold newly implemented
  115.     features, but it is possible that MMCMP might not handle correctly
  116.         what was said to be "currently unsupported" by those trackers. Note 
  117.         that a lot of other sample format as well as instrument file formats 
  118.         (notably XI) shall be implemented SOON! 
  119.  
  120.     Actually, MMCMP supports only 8/16 bits mono compression.  This doesn't
  121.     mean much though, because data like patterns, which aren't samples, are
  122.     compressed too, exactly like samples.  It only means that, for example,
  123.     stereo samples will soon have their own compression scheme so they can
  124.     be compressed much better.  However, among currently supported module
  125.     formats, none of their respective trackers actually support stereo
  126.     samples, so stereo support won't be implementedd until it has to...
  127.  
  128.  
  129.  
  130. 3. Usage
  131.  
  132.   3.1. Compressing Files
  133.  
  134.     To compress a module, simply type at the prompt:
  135.  
  136.                          MMCMP filename [filename] [filename]...
  137.  
  138.         "filename" may include a drive letter, a full path, as well as '*'
  139.         and '?' wildcards.  You may also specify more than one filename.
  140.         The file extension must be specified.  Omitting filename will show
  141.         the previous command line syntax.
  142.  
  143.       * *IMPORTANT NOTE:* *
  144.  
  145.     =>> MMCMP WILL REPLACE THE ORIGINAL FILE with the compressed one unless an
  146.         error occured during the process.  The new file will then have the same
  147.         name, date and time, than the original one.  If an error occured while
  148.         compressing, the file will remain unchanged.  If your file is "read
  149.         only", MMCMP won't be able to replace it and will save the compressed 
  150.         file in a temporary file, giving you the name of this file.
  151.  
  152.   3.2. Decompressing Files
  153.  
  154.         To decompress a file, type at the prompt:
  155.  
  156.                 MMUNCMP filename [filename] [...]
  157.  
  158.     The syntax follows the same rules than for MMCMP, explained above.
  159.         Note that MMUNCMP, like MMCMP will replace the compressed file by the
  160.         uncompressed one.  It will also behave like MMCMP if an error occurs.
  161.  
  162.   3.3. Using MMTSR
  163.  
  164.     3.3.1. Loading MMTSR:
  165.  
  166.     MMTSR is loaded by typing "MMTSR" at the prompt.  It will allocate
  167.     64k of exPanded memory -OR- 64k of exTended memory (this amount shall
  168.     be configurable in future versions of MMTSR) and takes 2.5k of
  169.     conventionnal memory for itself.  By default, MMTSR only uses expanded
  170.     memory, but if you don't have expanded memory or you want to use
  171.     extended memory, you MUST specify it on the command line:
  172.  
  173.           > MMTSR xms
  174.  
  175.     Load it "high" if you can, by typing "lh mmstr" at the prompt,
  176.     so it doesn't use "low" memory used by most applications.  Once it is
  177.     resident in memory, it will systematically decompress any file it
  178.         recognize as a MMCMP-style compressed files. Technically speaking, 
  179.         every file BEGINNING with the "ziRCONia" signature WILL be 
  180.         decompressed.
  181.  
  182.     3.3.2. Enabling/Disabling:
  183.  
  184.     MMTSR may be enabled/disabled anytime if you think it interferes with
  185.     something else in your system.  To desactivate MMTSR, simply type
  186.     "MMTSR off" and to reactivate it, type "MMTSR on" at the command 
  187.     prompt.
  188.  
  189.     3.3.3. Removing MMTSR from memory:
  190.  
  191.     Furthermore, if you want to free all the memory it uses, you may remove
  192.     it from memory by tying "MMTSR rem".  However, if another utility is
  193.     running of other TSR (Terminate and Stay Resident programs) are 
  194.     installed after MMTSR, it may be impossible for MMTSR to remove itself 
  195.     from memory, because it could corrupt other programs loaded into 
  196.     memory.  One way to resolve this problem is to load MMTSR after every 
  197.     other TSR.  
  198.  
  199.     3.3.4. More about MMTSR....
  200.  
  201.         When decompressing a files, MMTSR creates a tempory file in the root
  202.     directory of drive C: (C:\_~zirc~_.tmp, but this shall be configurable
  203.         in future versions of MMTSR)  This means that it will most probably
  204.     don't work correctly if some program opens more than one compressed
  205.         file at once, or if there's not enough free space on this drive to
  206.         store the decompressed file.  Of course, a player may load more than
  207.         one file into memory, as long as a compressed file is not opened before
  208.         the previous one is closed first.  Usually, trackers and players don't
  209.         open more than one module or sample at once.
  210.  
  211.     Furthermore, since every compressed file is decompressed when it is
  212.         opened, program that scan every files to get their name, info, etc,
  213.     may be consequently slowed down during scanning if that program
  214.         doesn't explicitely support compressed files.  As for now, only
  215.         Impulse Tracker recognize the 'header' part of compressed files and
  216.     may thus scan file as fast as if they were not compressed.
  217.  
  218.     If music is playing while a file is being decompressed, some weird
  219.     things might occur with the playback, only during decompression,
  220.     depending on the player/tracker you are using.  But don't worry, it
  221.     shouldn't hurt ;)  This is only due to the way the computer processes
  222.     "background events", i.e, most of the time, decompressing file in
  223.     "background" and playing music in background can't be done at the same
  224.     time.  Under certain circumstances, MMTSR let the music playback
  225.     continue normally, but sometimes playback is slowed down, or paused.
  226.     This really depends on your player or tracker.
  227.  
  228.  
  229.     IMPORTANT:
  230.  
  231.         MMTSR performs a READ ONLY decompression, i.e. any program, player,
  232.     tracker, may read any compressed module, but attempting to write into
  233.         a compressed file WHILE it is STILL open will return an error to the
  234.         program that attempted to write, like if it was a read-only file.  This
  235.         prevents corruption of the compressed file since the player/tracker
  236.         sees the file as a non-compressed file.  However, since players don't
  237.         write into those files and trackers usually rewrite the whole 
  238.         file, there won't be any problem.
  239.  
  240.         Frthermore, using MMTSR to load modules or sampleswhich have been 
  241.         compressed using a newer version of MMCMP (with new compression scheme,
  242.         i.e only adding new module format or that sort of thing doesn't change 
  243.         anything here) might crash your computer.  It doesn't do anything bad, 
  244.         but you'll have to reboot your system.  It might also not crash, 
  245.         instead it will only load data in a wrong manner, and results are much
  246.     unpredictable (for example, a sample could sound like garbage). But if
  247.         you don't save and overwrite your file after it has been altered in
  248.     some ways, DATA CAN'T BE MODIFIED and will remain like it was before.
  249.     Simply use MMUNCMP to decompress it correctly.
  250.  
  251.     This is all because MMTSR, being resident in memory and working in
  252.     "background", can't interact with the user if something is wrong.
  253.     Thus, to keep MMTSR as small as possible so it doesn't take too much
  254.     memory, no check or verification is done for newly implemented
  255.         features, not supported by the current verion of MMTSR. MMTSR may also 
  256.         simply refuse to decompress a file if it can't "understand" it.  
  257.         Consequently, you should always use the latest version of MMTSR you 
  258.         own.
  259.  
  260.     A lot of work has to be done around MMTSR to improve it, and a setup
  261.     utility will probably be released soon to let the user configure
  262.     MMTSR (temporary file path, extended/expanded memory support,
  263.     etc..)  Check the file MMUPDATE.DOC, and for technical stuff about
  264.     MMTSR, see MMTSR.DOC
  265.  
  266.  
  267.  
  268. 4. Some legal stuff
  269.  
  270. I CAN'T BE HELD RESPONSIBLE FOR ANYTHING THAT COULD HAPPEN TO YOU, YOUR
  271. MACHINE, OR WHOEVER OR WHATEVER, RESULTING FROM ANY USE OF THIS SOFTWARE.  BY
  272. USING THIS SOFTWARE, YOU ARE AUTOMATICALLY ACCEPTING THIS, AS WELL AS THE
  273. FOLLOWING PARAGRAPH:
  274.  
  275. THIS SOFTWARE IS PROTECTED BY THE RIGHTS OF INTELLECTUAL PROPERTY. YOU MAY NOT
  276. MODIFY ANY PART OF THIS SOFTWARE, NOR YOU MAY ADD OR REMOVE ANYTHING TO OR FROM
  277. ANY OF ITS FILES.  IF YOU'RE NOT A DISTRIBUTOR, YOU MAY HOWEVER FREELY
  278. DISTRIBUTE AND COPY IT, AS LONG AS EVERY FILES ARE PACKAGED OR ARCHIVED
  279. TOGETHER AND NO FILE IS MODIFIED OR REMOVED.  YOU MAY ARCHIVE OTHER FILES WITH
  280. THIS SOFTWARE FOR ADVERTISING PURPOSE ONLY, BUT THIS SOFTWARE MUST NOT BE
  281. INVOLVED IN ANY WAYS IN THIS ADVERTISING NOR RELATED TO ANY OTHER PRODUCT
  282. WITHOUT MY CONSENT. YOU MAY NOT CHARGE ANYTHING FOR THIS SOFTWARE OR PARTS OF
  283. IT.  DISTRIBUTORS WHO ARE INTERESTED IN THIS SOFTWARE OR ANYBODY ELSE WHO
  284. WISHES TO MAKE COMMERCIAL USE OF IT OR PARTS OF IT MUST GET MY WRITTEN CONSENT
  285. FIRST.
  286.  
  287.     If you wish to copy it, please archive or compress files under the
  288.     following filename:
  289.         MMCMPxyy.eee
  290.  
  291.     Where 'x' and 'yy' are the version number (x.yy).  For Beta releases,
  292.     replace the last 'y' by a 'b'. 'eee' is simply the extension added by
  293.     the archiver. Since there's some work being done between Jeffrey Lim,
  294.     the author of Impulse Tracker, and me, you may also distribute MMCMP
  295.     files along with Impulse Tracker.
  296.  
  297.  
  298.  
  299. 5. Closing words
  300.  
  301.     I'm sorry if this doc contains errors or some information is missing...
  302.     please contact me if you wish to notify anyhting about it.
  303.  
  304.     I personnaly conceive the compression algorithm two or three years
  305.     ago, and after having written from scratch three very different
  306.     versions of my program (the third is the good one) here it is! But I
  307.     haven't been really alone, I'd like to thank:
  308.  
  309.     Jeffrey Lim: For spending a lot of time trying to fix bugs in his
  310.              tracker, while bugs were within my program, (dear
  311.              MMTSR...:] )  Also helped me to spread my program all over
  312.              the world by putting my program along with his tracker
  313.              (*Impulse Tracker* of course...) Also did beta a LOT of
  314.              beta testing.  Thanks a lot!!
  315.  
  316.     Robert Pouliot (Krynos):
  317.             Told me a simple way to make MMTSR removable, from
  318.             which my 'remove' code was inspired.  And thanks for
  319.             bugs report!
  320.  
  321.     Beta Testers:   Nicolas Szapiel (Moonbeam / )
  322.             Nicolas Roberge (Populous / )
  323.             Samuel Cote (Balrog / KFMF)
  324.             Dominic (Mammouth)
  325.  
  326.     And anyone else who uses my program, and all those who are sending me
  327.     comments, info, questions, bugs reports (...shouldn't happen ;]) !!
  328.  
  329.     Furthermore, if you find my utility VERY convenient, and you think
  330.     that it worth something (well... anything), maybe you could send me
  331.     that 'something' ;)  Seriously, MMCMP is NOT a very big utility and I
  332.     "don't" ask anything for it.  I've spent many many many hours to
  333.     conceive, code and debug this utility, and I'm still working on it...
  334.     but this software is meant to please the whole planet!  However if you
  335.     feel happy and generous, follow your feelings!  And if people around
  336.     you feel the same way, get together to form an happy and generous
  337.     group!  I know an university student who works hard to pay his school
  338.     fees that would be very happy to receive a little something in a
  339.     little envelope in his little snail-mail box :-)  I will also write
  340.     your name/nick or whatever you want (simply specify it) into a "very
  341.         kind people" list!  (Why is there not such a list yet???)  And if you 
  342.         have an e-mail accout, I'll send you personnaly every release of my 
  343.         software.  So... open your mind, feel the generous person within you, 
  344.         and... ;)
  345.  
  346.     Finally...
  347.  
  348.     As I said in the intro, my compression algorithm shall be soon
  349.     integrated to Impulse Tracker, so watch this out!!! and read the
  350.     MMUPDATE.DOC file!!
  351.  
  352.  
  353.  
  354. 6. Contacting the author
  355.  
  356.     If you wish to ask or report something, or for any comment, contact
  357.     me...
  358.  
  359.     ... via e-mail:
  360.         giassone@ift.ulaval.ca
  361.         OR  Emmanuel.Giasson@ift.ulaval.ca (same thing...)
  362.  
  363.         Subject: MMCMP    (or whatever else you want...)
  364.  
  365.         (I shall have this mail account up to april '98, and maybe
  366.         more...)
  367.  
  368.     ... via snail mail:
  369.         Emmanuel Giasson
  370.         158, rue Gariepy
  371.         St-Redempteur, Quebec
  372.         G6K 1M5
  373.         Canada
  374.  
  375.         (this shall also still be good for a couple of years...)
  376.  
  377.         ... via a Canadian BBS:
  378.                 Contact - OVERFLOW - (418) 659-1872.  This is my local 
  379.                 distribution site.  Simply leave me (Zirconia) a message!
  380.                 (and don't forget to see what the BBS has to offer you!)
  381.  
  382.         ... via IRC ;)
  383.         though this 'may' not be very serious, if you happen to be on
  384.         the same 'IRC net' (may be not the 'underground net'), look for
  385.         the nickname 'Zirconia', often on channel #quebec or #bistro
  386.         (well, as for now...).  Try between 7pm and 2am, Eastern North
  387.         American time (-6h00 GMT I guess...)
  388.  
  389.     If you are reporting me bugs, please, try to be as explicit as
  390.     possible!  If you wish to use my compression algorithm, ask me first,
  391.     but if you only want to get the algoritmh to decompress data (well,
  392.     this may seems to be the same thing, but in fact, this is much
  393.     simpler) you may ask me (because I haven't yet included it along with
  394.     the software) or wait until it is integrated to IT.  The decompression
  395.     algorithm shall be there for anybody (i.e. players/trackers
  396.     programmers) who might like to add support for compressed IT modules.
  397.  
  398.  
  399. DON'T FORGET TO LOOK THE MMUPDATE.DOC FILE!!!!!
  400.  
  401. Enjoy!
  402.  
  403. Zirconia a/s Emmanuel Giasson
  404.  
  405.